package ljl.alg.jianzhioffer.round2;

import commons.ListNode;

public class _22_kth_from_last {
    
    // 一个双指针搞定，过于简单
    /*
    * 没考虑的点：
    * 1. head == null
    * 2. k 可能比链表还长
    * */
    public ListNode getKthFromEnd(ListNode head, int k) {
        ListNode fast = head, slow = head;
        // 你先走 k 步！
        while (k-- > 0) {
            fast = fast.next;
        }
        // 一起走！
        while (fast != null) {
            fast = fast.next;
            slow = slow.next;
        }
        return slow;
    }
}
